package com.richpay.basejava.base14;

import java.util.Arrays;

/**
 * 数组工具类的使用
 */
public class ArrayUtil {
    public static void main(String[] args) {
//        int[] array = {1, 6, 9, 14, 20, 34};
//        //int dest = 2;
//        int dest=30;
//        //如果要查询的数据不在当前数组中，则返回(-(插入点)-1).
//        //插入点，即：假设这个数据在数组中，那么它的索引位应该是多少。
//        int index = Arrays.binarySearch(array, dest);
//        System.out.println("index="+index);
//
        int[] array = {9, 2, 5, 6, 1, 7, 8};
        System.out.println("原始数组：");
        print(array);
        Arrays.sort(array);//封装了快速排序算法.
        System.out.println("排序后的数组：");
        print(array);

        System.out.println("array=" + array);
        System.out.println(Arrays.toString(array));//[1, 2, 5, 6, 7, 8, 9]

        System.out.println(toString(array));
    }

    /**
     * 模拟了 Arrays.toString(array)的源代码
     *
     * @param array
     * @return
     */
    static String toString(int[] array) {
        String strArray = "[";
        int len = array.length;
        for (int i = 0; i < len; i++) {
            if (i != len - 1) {
                strArray += array[i] + ", ";
            } else {
                strArray += array[i];
            }
        }
        strArray += "]";
        return strArray;
    }


    static void print(int[] array) {
        for (int i : array) {
            System.out.print(i + " ");
        }

        System.out.println();
    }
}
